package com.gqz.patrol.app.entity;

import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;


/**
 * @ClassName EnPatrolTaskEquipEntity
 * @Description 能源-巡视任务设备表
 */


@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("T_EN_PATROL_TASK_EQUIP")
public class EnPatrolTaskEquipEntity implements Serializable {

    /**
     * 主键
     */
    @TableId
    private String id;

    /**
     * 任务编号
     */
    @TableField(value = "TASK_NO")
    private String taskNo;

    /**
     * 设备编码
     */
    @TableField(value = "EQUIP_NO")
    private String equipNo;

    /**
     * 设备名称
     */
    @TableField(value = "EQUIP_NAME")
    private String equipName;

    /**
     * 设备类型编码
     */
    @TableField(value = "EQUIP_TYPE_NO")
    private String equipTypeNo;

    /**
     * 设备类型
     */
    @TableField(value = "EQUIP_TYPE_NAME")
    private String equipTypeName;

    /**
     * 机房编码
     */
    @TableField(value = "JF_NO")
    private String jfNo;

    /**
     * 机房名称
     */
    @TableField(value = "JF_NAME")
    private String jfName;

    /**
     * 全景图片IDS
     */
    @TableField(value = "QJ_PICTURE_IDS")
    private String qjPictureIds;

    /**
     * 柜内图片IDS
     */
    @TableField(value = "GN_PICTURE_IDS")
    private String gnPictureIds;

    /**
     * 电表图片IDS
     */
    @TableField(value = "DB_PICTURE_IDS")
    private String dbPictureIds;

    /**
     * 运行泵图片IDS
     */
    @TableField(value = "YXB_PICTURE_IDS")
    private String yxbPictureIds;

    /**
     * 泵体风扇图片IDS
     */
    @TableField(value = "BTFS_PICTURE_IDS")
    private String btfsPictureIds;

    /**
     * 机组蒸发器冷凝器供回水图片IDS
     */
    @TableField(value = "JZZFQ_PICTURE_IDS")
    private String jzzfqPictureIds;

    /**
     * 压力表图片IDS
     */
    @TableField(value = "YLB_PICTURE_IDS")
    private String ylbPictureIds;

    /**
     * 损坏灯具图片IDS
     */
    @TableField(value = "SHDJ_PICTURE_IDS")
    private String shdjPictureIds;

    /**
     * 控制面板运行数据图片IDS
     */
    @TableField(value = "KZMB_PICTURE_IDS")
    private String kzmbPictureIds;

    /**
     * 设定参数图片IDS
     */
    @TableField(value = "SDCS_PICTURE_IDS")
    private String sdcsPictureIds;

    /**
     * 故障报警图片IDS
     */
    @TableField(value = "GZBJ_PICTURE_IDS")
    private String gzbjPictureIds;

    /**
     * 安全出口标识图片IDS
     */
    @TableField(value = "AQCK_PICTURE_IDS")
    private String aqckPictureIds;

    /**
     * 应急灯图片IDS
     */
    @TableField(value = "YJD_PICTURE_IDS")
    private String yjdPictureIds;

    /**
     * 挡鼠板图片IDS
     */
    @TableField(value = "DSB_PICTURE_IDS")
    private String dsbPictureIds;

    /**
     * 粘鼠板图片IDS
     */
    @TableField(value = "NSB_PICTURE_IDS")
    private String nsbPictureIds;

    /**
     * 是否删除
     */
    @TableField(value = "IS_DEL")
    private String isDel;

    /**
     * 创建人
     */
    @TableField(value = "CREATOR")
    private String creator;

    /**
     * 创建时间
     */
    @TableField(value = "CREAT_TIME")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "creatTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date creatTime;

    /**
     * 运行数据-Ua(V)
     */
    @TableField(value = "UA")
    private String ua;

    /**
     * 运行数据-Ub(V)
     */
    @TableField(value = "UB")
    private String ub;

    /**
     * 运行数据-Vc(V)
     */
    @TableField(value = "VC")
    private String vc;

    /**
     * 运行数据-la(V)
     */
    @TableField(value = "IA")
    private String ia;

    /**
     * 运行数据-lb(V)
     */
    @TableField(value = "IB")
    private String ib;

    /**
     * 运行数据-lc(V)
     */
    @TableField(value = "IC")
    private String ic;

    /**
     * 设备状态编码
     */
    @TableField(value = "EQUIP_STATUS_NO")
    private String equipStatusNo;

    /**
     * 设备状态名称
     */
    @TableField(value = "EQUIP_STATUS_NAME")
    private String equipStatusName;

    /**
     * 是否巡视完成
     */
    @TableField(value = "IS_PATROL")
    private String isPatrol;
    /**
     * 阀门整体ids
     */
    @TableField(value = "FMZT_PICTURE_IDS")
    private String fmztPictureIds;
    /**
     * 分集水管盗图
     */
    @TableField(value = "FJSG_PICTURE_IDS")
    private String fjsgPictureIds;

    //===================
    @TableField(exist = false)
    private String gldwbm;

    @TableField(exist = false)
    private String gldwmc;

    @TableField(exist = false)
    private String ccbm;

    @TableField(exist = false)
    private String zb;
    /**
     * start����Ǳ���Ҫ�Ķ�̬��������start   start
     */
    private static Map<String, SFunction<EnPatrolTaskEquipEntity, ?>> map;

    static {
        map = new HashMap<>();
        map.put("id", EnPatrolTaskEquipEntity::getId);
        map.put("taskNo", EnPatrolTaskEquipEntity::getTaskNo);
        map.put("equipNo", EnPatrolTaskEquipEntity::getEquipNo);
        map.put("equipName", EnPatrolTaskEquipEntity::getEquipName);
        map.put("equipTypeNo", EnPatrolTaskEquipEntity::getEquipTypeNo);
        map.put("equipTypeName", EnPatrolTaskEquipEntity::getEquipTypeName);
        map.put("jfNo", EnPatrolTaskEquipEntity::getJfNo);
        map.put("jfName", EnPatrolTaskEquipEntity::getJfName);
        map.put("qjPictureIds", EnPatrolTaskEquipEntity::getQjPictureIds);
        map.put("gnPictureIds", EnPatrolTaskEquipEntity::getGnPictureIds);
        map.put("dbPictureIds", EnPatrolTaskEquipEntity::getDbPictureIds);
        map.put("yxbPictureIds", EnPatrolTaskEquipEntity::getYxbPictureIds);
        map.put("btfsPictureIds", EnPatrolTaskEquipEntity::getBtfsPictureIds);
        map.put("jzzfqPictureIds", EnPatrolTaskEquipEntity::getJzzfqPictureIds);
        map.put("ylbPictureIds", EnPatrolTaskEquipEntity::getYlbPictureIds);
        map.put("shdjPictureIds", EnPatrolTaskEquipEntity::getShdjPictureIds);
        map.put("kzmbPictureIds", EnPatrolTaskEquipEntity::getKzmbPictureIds);
        map.put("sdcsPictureIds", EnPatrolTaskEquipEntity::getSdcsPictureIds);
        map.put("gzbjPictureIds", EnPatrolTaskEquipEntity::getGzbjPictureIds);
        map.put("aqckPictureIds", EnPatrolTaskEquipEntity::getAqckPictureIds);
        map.put("yjdPictureIds", EnPatrolTaskEquipEntity::getYjdPictureIds);
        map.put("dsbPictureIds", EnPatrolTaskEquipEntity::getDsbPictureIds);
        map.put("nsbPictureIds", EnPatrolTaskEquipEntity::getNsbPictureIds);
        map.put("isDel", EnPatrolTaskEquipEntity::getIsDel);
        map.put("creator", EnPatrolTaskEquipEntity::getCreator);
        map.put("creatTime", EnPatrolTaskEquipEntity::getCreatTime);
        map.put("ua", EnPatrolTaskEquipEntity::getUa);
        map.put("ub", EnPatrolTaskEquipEntity::getUb);
        map.put("vc", EnPatrolTaskEquipEntity::getVc);
        map.put("ia", EnPatrolTaskEquipEntity::getIa);
        map.put("ib", EnPatrolTaskEquipEntity::getIb);
        map.put("ic", EnPatrolTaskEquipEntity::getIc);
        map.put("equipStatusNo", EnPatrolTaskEquipEntity::getEquipStatusNo);
        map.put("equipStatusName", EnPatrolTaskEquipEntity::getEquipStatusName);
        map.put("isPatrol", EnPatrolTaskEquipEntity::getIsPatrol);
        map.put("fmztPictureIds", EnPatrolTaskEquipEntity::getFmztPictureIds);
        map.put("fjsgPictureIds", EnPatrolTaskEquipEntity::getFjsgPictureIds);
        map.put("zb", EnPatrolTaskEquipEntity::getZb);

    }

    public static SFunction<EnPatrolTaskEquipEntity, ?> genColumnSFunction(String column) {
        return map.get(column);
    }
    /** end����Ǳ���Ҫ�Ķ�̬��������end   end */


}
